Shader "TideShader/0_Zero"
{
    Properties
    {
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("MainTex", 2D) = "white" {}
    }
    SubShader
    {
        pass
        {
            //渲染管线使用BuildIn，Unity在CG语言的基础上封装的语法，写在这里才会生效。
            CGPROGRAM
            //预编译指令 定义顶点着色器的入口函数
            #pragma vertex vert
            //预编译指令 定义片元着色器的入口函数
            #pragma fragment frag

            //引用库文件,包含一些预定义的方法
            #include "UnityCG.cginc"

            sampler2D _MainTex;
            float4 _Color;

            //顶点着色器输入的数据
            struct appdata
            {
                float4 vertex:POSITION; //顶点的模型坐标
                float2 uv:TEXCOORD0; //模型的uv坐标
            };

            //顶点着色器输出给片元着色器的数据
            struct v2f
            {
                float4 pos :SV_POSITION; //顶点经过转换,到视口坐标
                float2 uv:TEXCOORD0; //模型的uv坐标
            };

            v2f vert(appdata i)
            {
                v2f o;
                o.pos = UnityObjectToClipPos(i.vertex);
                o.uv = i.uv;
                return o;
            }

            float4 frag(v2f i):SV_TARGET
            {
                fixed4 color = tex2D(_MainTex, i.uv);
                color = color * _Color;
                return color;
            }
            ENDCG
        }
    }
}